package com.shanzhu.parking.entity.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 停车位
 */
@Data
@ApiModel(value = "Stall对象", description = "停车位")
public class Stall implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 车位编号
     */
    @ApiModelProperty(value = "车位编号")
    @TableId(value = "sid", type = IdType.AUTO)
    private Integer sid;

    /**
     * 车位号
     */
    @ApiModelProperty(value = "车位号")
    @TableField("stall_num")
    private String stallNum;

    /**
     * 车位区域
     */
    @ApiModelProperty(value = "车位区域")
    @TableField("stall_area")
    private String stallArea;

    /**
     * 车位类型
     */
    @ApiModelProperty(value = "车位类型")
    @TableField("stall_type")
    private String stallType;

    /**
     * 车位状态
     */
    @ApiModelProperty(value = "车位状态")
    @TableField("stall_state")
    private String stallState;

    /**
     * 车位收费
     */
    @ApiModelProperty(value = "车位收费（元/小时）")
    @TableField("stall_money")
    private BigDecimal stallMoney;

    /**
     * 逻辑删除标志
     */
    @ApiModelProperty(value = "逻辑删除标志（1：未删除，0：已删除）")
    @TableField("stall_live")
    private String stallLive;

    /**
     * 用户编号
     */
    @ApiModelProperty(value = "用户编号")
    @TableField("user_id")
    private Integer userId;

    /**
     * 费率设置ID (仅用于传输，不在数据库中存储)
     */
    @ApiModelProperty(value = "费率设置ID (仅用于传输)")
    @TableField(exist = false)
    private Integer feeId;

    /**
     * 用户信息
     */
    @ApiModelProperty(value = "用户信息")
    @TableField(exist = false)
    private User user;

    /**
     * 费率设置信息
     */
    @ApiModelProperty(value = "费率设置信息")
    @TableField(exist = false)
    private FeeSetting feeSetting;

}
